%实践发现当所需绘制的网格数很多时，fill()函数的绘图时间占程序运行时间的主要部分
%因此，设计了如下绘制方案：只改写变化的网格
function ising_cycle_plot(isingmat, k, m)
    %根据矩阵isingmat和位置数组k,m来改写填充n*n二维方格图
   
    margin = 0.04;
    
    len = length(k);
    
    if(k(1) == 0)

    else
        for i = 1 : len               
            x1 = k(i) - 1.0 + margin;
            x2 = k(i);
            y1 = m(i) - 1.0 + margin;
            y2 = m(i);
            if (isingmat(k(i),m(i)) == -1)
                rgb = [1.0, 1.0, 1.0];
            elseif (isingmat(k(i),m(i)) == 1)
                rgb = [0.0, 0.0, 1.0];
            end
            fill([x1, x1, x2, x2], [y1, y2, y2, y1], rgb);
            hold on
        end            
    end

%     title_string = sprintf ('%d',step);
%     title ( title_string )

%     axis ( [ x_min, x_max, y_min, y_max] );
%     axis equal
%     axis tight
%     axis off

    %hold ( 'off' );

    return
end